import { db } from '../index';
import { cases, caseCategories, tags } from '../schema';
import { createId } from '@paralleldrive/cuid2';
import { eq } from 'drizzle-orm';

/**
 * 案例种子数据
 */
export async function runCaseSeeds() {
  try {
    console.log('🔄 创建案例种子数据...');
    
    // 获取分类ID
    const categories = await db.select().from(caseCategories);
    const getCategoryId = (name: string) => {
      const category = categories.find(c => c.name === name);
      return category?.id || null;
    };
    
    // 获取标签ID
    const allTags = await db.select().from(tags);
    const getTagId = (name: string) => {
      const tag = allTags.find(t => t.name === name);
      return tag?.id || null;
    };
    
    const caseData = [
      {
        id: createId(),
        title: '星巴克门店标识系统设计制作',
        categoryId: getCategoryId('餐饮行业'),
        industry: '餐饮连锁',
        description: '为星巴克中山地区门店提供完整的标识系统设计制作服务，包括门头发光字、室内导视牌、菜单灯箱等。',
        content: `
## 项目背景
星巴克作为全球知名咖啡连锁品牌，对门店形象有着严格的标准要求。本项目为星巴克中山地区3家新开门店提供标识系统设计制作服务。

## 设计理念
- 严格遵循星巴克VI标准
- 融入当地文化元素
- 注重环保材料使用
- 确保夜间识别效果

## 制作工艺
- 门头LOGO：精工不锈钢发光字
- 室内标识：环保亚克力材质
- 菜单展示：LED背光灯箱
- 导视系统：模块化设计

## 项目成果
成功完成3家门店标识系统，获得品牌方高度认可，后续签约5家门店的标识制作项目。
        `,
        services: JSON.stringify([getTagId('品牌设计'), getTagId('发光字'), getTagId('门头招牌')].filter(Boolean)),
        images: JSON.stringify([
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Starbucks%20storefront%20signage%20illuminated%20logo%20coffee%20shop%20entrance&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Coffee%20shop%20interior%20wayfinding%20signs%20modern%20design&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=LED%20menu%20board%20coffee%20shop%20backlit%20display&image_size=landscape_4_3'
        ]),
        highlights: '严格按照国际品牌标准执行，工艺精湛，安装精准，获得品牌方高度认可',
        technologies: JSON.stringify(['精工不锈钢工艺', 'LED背光技术', '模块化安装', '智能控制系统']),
        clientName: '星巴克（中国）',
        startDate: '2023-12-01',
        endDate: '2024-01-15',
        location: '广东省中山市',
        projectValue: '28万元',
        challenges: '品牌标准严格，安装环境复杂，工期紧张，需要夜间施工',
        solutions: '制定详细施工方案，采用模块化设计，安排专业安装团队，确保质量和进度',
        status: 'active',
        sort: 1
      },
      {
        id: createId(),
        title: '中山市人民医院导视系统升级改造',
        categoryId: getCategoryId('医疗健康'),
        industry: '医疗机构',
        description: '为中山市人民医院提供全院导视系统升级改造服务，包括楼层指引、科室标识、应急标识等。',
        content: `
## 项目概述
中山市人民医院作为三甲医院，日均门诊量超过8000人次。原有导视系统老化，患者就医体验不佳，急需升级改造。

## 设计原则
- 符合医疗机构标准
- 色彩搭配温馨舒适
- 信息层级清晰明确
- 无障碍设计考虑

## 系统构成
- 户外导引标识：不锈钢精神堡垒
- 楼层导视：亚克力吊挂式标识
- 科室门牌：标准化模块设计
- 应急标识：夜光材料制作

## 项目亮点
- 采用医疗专用色彩体系
- 集成数字化信息显示
- 支持多语言显示
- 便于后期维护更新
        `,
        services: JSON.stringify([getTagId('门头招牌'), getTagId('数字标牌'), getTagId('亚克力制品')].filter(Boolean)),
        images: JSON.stringify([
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Hospital%20wayfinding%20system%20modern%20medical%20facility%20signage&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Medical%20center%20directory%20signs%20clean%20professional%20design&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Hospital%20corridor%20department%20signs%20accessible%20design&image_size=landscape_4_3'
        ]),
        highlights: '显著提升患者就医体验，获得卫健委表彰，成为地区医院标识系统标杆项目',
        technologies: JSON.stringify(['数字化显示', '模块化设计', '无障碍标准', '夜光材料']),
        clientName: '中山市人民医院',
        startDate: '2023-10-20',
        endDate: '2023-12-20',
        location: '广东省中山市',
        projectValue: '85万元',
        challenges: '医院环境特殊，不能影响正常医疗秩序，标识信息复杂，更新频繁',
        solutions: '分区域分时段施工，采用模块化设计便于更新，建立标准化管理体系',
        status: 'active',
        sort: 2
      },
      {
        id: createId(),
        title: '万达广场LED大屏广告投放系统',
        categoryId: getCategoryId('零售行业'),
        industry: '商业地产',
        description: '为万达广场打造大型LED显示屏广告投放系统，提供高清显示和智能管理功能。',
        content: `
## 项目背景
万达广场作为城市商业中心，需要一套高端的LED显示系统来提升商业价值和品牌形象。

## 技术方案
- 户外P4高清LED显示屏
- 面积：120平方米
- 分辨率：1920×1080
- 亮度：≥6000cd/㎡

## 系统特点
- 远程内容管理
- 定时播放控制
- 实时监控系统
- 节能环保设计

## 商业价值
- 提升广场知名度
- 增加广告收入
- 丰富夜间景观
- 带动周边消费
        `,
        services: JSON.stringify([getTagId('LED显示屏'), getTagId('数字标牌'), getTagId('户外广告')].filter(Boolean)),
        images: JSON.stringify([
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Large%20LED%20display%20screen%20shopping%20mall%20outdoor%20advertising&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Commercial%20plaza%20digital%20billboard%20night%20illumination&image_size=landscape_4_3'
        ]),
        highlights: '成为地标性数字广告屏，日均曝光量超过10万人次，广告收益显著',
        technologies: JSON.stringify(['P4高清显示', '远程控制', '智能管理', '节能技术']),
        clientName: '万达商业管理集团',
        startDate: '2023-11-01',
        endDate: '2023-11-30',
        location: '广东省中山市',
        projectValue: '180万元',
        challenges: '安装高度大，安全要求高，显示效果要求严格，后期维护困难',
        solutions: '采用专业高空作业设备，制定严格安全方案，选用高品质器件，设计便维护结构',
        status: 'active',
        sort: 3
      },
      {
        id: createId(),
        title: '中山大学附属中学校园文化建设',
        categoryId: getCategoryId('教育培训'),
        industry: '教育机构',
        description: '为中山大学附属中学提供校园文化标识系统设计制作，营造浓厚的学术氛围。',
        content: `
## 项目概述
中山大学附属中学作为重点中学，需要体现深厚的文化底蕴和现代化的教育理念。

## 设计理念
- 传承中大文化传统
- 体现现代教育理念
- 营造书香校园氛围
- 激发学生学习热情

## 主要内容
- 校门形象标识
- 教学楼导视系统
- 文化墙设计制作
- 校园雕塑小品

## 文化内涵
- 融入中大校训元素
- 展示学校发展历程
- 体现学科特色
- 传播正能量价值观
        `,
        services: JSON.stringify([getTagId('品牌设计'), getTagId('门头招牌'), getTagId('亚克力制品')].filter(Boolean)),
        images: JSON.stringify([
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=School%20entrance%20gate%20signage%20academic%20institution%20modern%20design&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Campus%20cultural%20wall%20educational%20environment%20inspiring%20design&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=School%20wayfinding%20system%20educational%20facility%20student%20friendly&image_size=landscape_4_3'
        ]),
        highlights: '成功营造浓厚学术氛围，获得师生一致好评，成为区域教育文化建设典型案例',
        technologies: JSON.stringify(['文化设计', '环保材料', '防腐工艺', '景观集成']),
        clientName: '中山大学附属中学',
        startDate: '2023-06-01',
        endDate: '2023-09-01',
        location: '广东省中山市',
        projectValue: '65万元',
        challenges: '文化内涵要求高，施工不能影响教学，安全要求严格，工期要求紧',
        solutions: '深入调研学校文化，制定详细施工计划，采用环保安全材料，合理安排工期',
        status: 'active',
        sort: 4
      },
      {
        id: createId(),
        title: '比亚迪4S店品牌形象升级',
        categoryId: getCategoryId('汽车服务'),
        industry: '汽车销售',
        description: '为比亚迪4S店提供品牌形象升级服务，包括外立面改造、展厅标识、服务区标识等。',
        content: `
## 项目背景
比亚迪作为新能源汽车领军品牌，需要4S店形象与品牌定位相匹配，体现科技感和环保理念。

## 升级内容
- 外立面LED发光字
- 展厅吊挂标识
- 服务流程指引
- 充电区域标识

## 设计特色
- 体现新能源特色
- 融入科技元素
- 绿色环保理念
- 现代简约风格

## 技术亮点
- 节能LED照明
- 智能控制系统
- 模块化设计
- 易维护结构
        `,
        services: JSON.stringify([getTagId('品牌设计'), getTagId('发光字'), getTagId('门头招牌')].filter(Boolean)),
        images: JSON.stringify([
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=BYD%20car%20dealership%20modern%20showroom%20signage%20automotive&image_size=landscape_4_3',
          'https://trae-api-sg.mchost.guru/api/ide/v1/text_to_image?prompt=Electric%20vehicle%20charging%20station%20signage%20green%20technology&image_size=landscape_4_3'
        ]),
        highlights: '成功提升品牌形象，客流量增加30%，获得厂家年度优秀门店奖',
        technologies: JSON.stringify(['LED节能技术', '智能控制', '环保材料', '模块设计']),
        clientName: '比亚迪汽车销售有限公司',
        startDate: '2023-09-20',
        endDate: '2023-10-15',
        location: '广东省中山市',
        projectValue: '42万元',
        challenges: '不能影响正常营业，品牌标准严格，新能源特色要突出，工期紧张',
        solutions: '夜间施工为主，严格按品牌标准执行，突出绿色科技元素，优化施工流程',
        status: 'active',
        sort: 5
      }
    ];
    
    // 删除现有案例数据
    await db.delete(cases);
    console.log('🗑️ 删除现有案例数据');
    
    // 插入案例数据
    for (const caseItem of caseData) {
      await db.insert(cases).values(caseItem);
      console.log(`✅ 创建案例: ${caseItem.title}`);
    }
    
  } catch (error) {
    console.error('❌ 案例种子数据创建失败:', error);
    throw error;
  }
}